home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / src / exampleCode / MP / kernel_switch / bloc_mpy.f next >
Encoding:
Text File  |  1994-08-02  |  726 b   |  36 lines

  1. c Copyright (C) 1993, Silicon Graphics, Inc.
  2. c All Rights Reserved.
  3. c
  4.     subroutine bloc_mpy(c1,c2,m,n,p,alpha,a,lda,b,ldb,beta,c,ldc,
  5.      +   iflag)
  6. c
  7.     implicit double precision(a-h,o-z)
  8.     character*1 c1,c2
  9.     real*8 alpha,beta
  10.     dimension a(lda,p),b(ldb,n),c(ldc,n)
  11.     parameter(iblock=64,kblock=32,jblock=16)
  12.     integer p
  13. c
  14.  
  15.     do j1=1,n,jblock
  16.       j2=j1+jblock-1
  17.       if(j2.gt.n) j2=n
  18.       do k1=1,p,kblock
  19.         k2=k1+kblock-1
  20.         if(k2.gt.p)k2=p
  21.         do i1=1,m,iblock
  22.            i2=i1+iblock-1
  23.             if(i2.gt.m) i2=m
  24. c         call sgi_dgemm_mm( a(i1,k1),lda,b(k1,j1),ldb,c(i1,j1),ldc,
  25.           call mpy( a(i1,k1),lda,b(k1,j1),ldb,c(i1,j1),ldc,
  26.      $                   (i2-i1+1), (j2-j1+1), (k2-k1+1), alpha)
  27.  
  28.     enddo
  29.     enddo
  30.     enddo
  31.  
  32.  
  33.     return
  34.     end
  35.